package a07_二叉树;

/**
 * 什么是深度？
 * 节点到根节点的距离
 *
 * 什么是高度？
 * 节点到叶子节点的距离
 *
 * 如何求高度？
 * 后序
 * 知道了下面，上面的+1就行了
 *
 *
 * 如何求深度？
 * 前序
 * 知道了上面，下面的+1就行了
 *
 *
 * 此题求二叉树的最大深度 ==> 根节点的高度
 *
 *
 *
 *
 *
 * @author flyduck
 * @since 2024-08-28
 */
public class a09_二叉树的最大深度 {


    public int maxDepth(TreeNode root) {
        if(root == null){
            return 0;
        }

        int leftMaxDepth = maxDepth(root.left);
        int rightMaxDepth = maxDepth(root.right);
        return Math.max(leftMaxDepth, rightMaxDepth) + 1;
    }


    public int getHeight(TreeNode node){
        if(node == null){
            return 0;
        }

        int leftHeight = getHeight(node.left);
        int rightHeight = getHeight(node.right);
        return Math.max(leftHeight, rightHeight) + 1;
    }



}
